package com.gitee.cirnochat.login.job;

import com.gitee.cirnochat.login.service.LoginHistoryService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

/**
 * 定时清理登录历史记录的任务
 * 每天凌晨0点执行一次
 * 清理30天/days天前的登录历史记录
 * @author FlanChan
 */
@Component
@RequiredArgsConstructor
@Slf4j
public class ScheduleCleanLoginHistoryJob {
    private final LoginHistoryService loginHistoryService;

    private final static int CLEAN_DAYS = 30; // 清理30天前的离线消息

    @Scheduled(cron = "0 0 0 * * ?")
    public void cleanLoginHistory() {
        log.info("开始清理登录历史记录...");
        loginHistoryService.cleanLoginHistory(CLEAN_DAYS); // 清理30天前的登录历史
        log.info("登录历史记录清理完成");
    }
}
